package Code;

import java.util.HashMap;
import java.util.Map;

public class Code560 {
    static int countSum(int[] nums, int k){
        Map<Integer, Integer> map = new HashMap<>();
        int res = 0;
        map.put(0, 1);
        int prefix = 0;
        for(int i = 0; i< nums.length; i++){
            prefix += nums[i]; // 计算当前位置的前缀和
            int target = prefix - k;// 计算需要的前缀和
            if(map.containsKey(target)){  // 如果需要的前缀和存在，将其出现的次数累加到结果中
                res += map.get(target);
            }
            map.put(prefix, map.getOrDefault(prefix,0) +1);
        }
        return res;
    }
    public static void main(String[] args) {
        System.out.println(countSum(new int[]{1,1,1} ,2));
    }
}
